Adaptive placement of audiovisual content on user devices

ABSTRACT

Methods and apparatuses that utilize machine learning techniques to dynamically adjust the placement of secondary content that is displayed across numerous user devices over time are described. The user devices may comprise electronic computing devices, such as a mobile phones and digital televisions. The secondary content may be displayed within open slots of webpages or display screens in response to being selected for display during a real-time bidding process for the open slots. In some cases, in response to a bid request for an open slot within a webpage or display screen, a computer-implemented bid generation system for determining the selection and placement of secondary content may identify the secondary content to be displayed within the open slot, determine a bid amount for the identified secondary content, and transmit a bid response that includes the bid amount and the identified secondary content.

BACKGROUND

A web browser running on a computing device may be used to display awebpage that includes both primary content for the webpage and secondarycontent that comprises content that has been selected using a real-timebidding process for placement of the secondary content at a locationwithin the webpage. The location may correspond with an available slotor an open slot of the webpage. The primary content may be acquired froma web server hosting the webpage and the secondary content may beacquired from a second server that manages the real-time bidding processfor the location within the webpage. The secondary content may bedisplayed within an open slot of the webpage, which may comprise areserved fixed-sized region of the webpage, in response to a secondarycontent provider placing a successful bid (e.g., a bid with the highestvalue) for the secondary content during the real-time bidding process.Typically, the real-time bidding process for placement of the secondarycontent within the open slot of the webpage must be performed in lessthan a fraction of a second and therefore computers must be used forgenerating and transmitting the bids necessary for determining thesecondary content to be displayed within the open slot of the webpageand for transmitting the secondary content to the computing device sothat the secondary content may be displayed in near real-time along withthe primary content.

BRIEF SUMMARY

Systems and methods for improving the identification and placement ofsecondary content that is displayed along with primary content acrossnumerous user devices are provided. The primary content may comprisetext, images, and/or videos associated with the main content for awebpage, application screen, or display screen. The secondary contentmay comprise text, images, and/or videos associated with content thathas been selected using a real-time bidding process for placement of thesecondary content within a location on the displayed webpage or displayscreen. The secondary content can thus be in the form of advertisements,promotions to purchase goods, offers to engage in other activities orthe like. To facilitate the placement of secondary content across theuser devices, a secondary content placement and bidding system mayutilize computer-implemented artificial intelligence (AI) techniques tooptimize the real-time generation of bid responses for the secondarycontent. The secondary content placement and bidding system may predictwhen a real-time bid response should be submitted in response to a bidrequest using one or more machine learning models that have been trainedusing historical placement patterns that have led to the acquisition ofnew subscribers for a particular service. Several approaches thatutilize machine learning techniques to improve the identification andplacement of secondary content that is displayed along with primarycontent across numerous user devices are provided.

According to some embodiments, the technical benefits of the systems andmethods disclosed herein for improving the identification and placementof secondary content that is displayed along with primary contentinclude reducing energy consumption for systems that determine bidresponses, reducing the number of transmitted bid responses required toacquire a given number of new subscribers, and increasing the decisionmaking performance of machine learning models thereby reducing energyconsumption of computing resources and reducing storage devicerequirements.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Like-numbered elements may refer to common components in the differentfigures.

FIG. 1 depicts one embodiment of a networked computing environment.

FIG. 2 depicts one embodiment of a secondary content placement andbidding system.

FIG. 3A depicts one embodiment of a chart including a set of placementpatterns.

FIG. 3B depicts one embodiment of a set of labeled training data.

FIG. 3C depicts another embodiment of a set of labeled training data.

FIG. 4A depicts one embodiment of a user device displaying a portion ofa display screen that includes primary content and an open slot forsecondary content located at the bottom of the display screen.

FIG. 4B depicts one embodiment of a user device displaying a webpage ordisplay screen for acquiring new subscribers of a service.

FIGS. 5A-5B depict a flowchart describing one embodiment of a processfor selecting the placement of secondary content that is displayed alongwith primary content on a user device.

FIGS. 5C-5D depict a flowchart describing another embodiment of aprocess for selecting the placement of secondary content that isdisplayed along with primary content on a user device.

DETAILED DESCRIPTION

Technology described herein utilizes machine learning techniques todynamically adjust the placement of secondary content that is displayedacross numerous user devices over time. The user devices may compriseelectronic computing devices that include display screens, such as amobile phone or laptop computer. The secondary content may be displayedwithin open slots of webpages, application screens, or display screensin response to being selected for display during a real-time biddingprocess for the open slots. The secondary content may comprise text,images, video, and/or audiovisual content. The secondary content canthus be in the form of advertisements, promotions to purchase goods,offers to engage in other activities or the like. A webpage may bedisplayed using a web browser running on a user device or within anapplication running on the user device. A display screen may correspondwith viewable content of an end user application installed on a userdevice. In some cases, in response to a bid request for an open slotwithin a webpage or display screen, a computer-implemented bidgeneration system for determining the selection and placement ofsecondary content within the open slot may identify the secondarycontent to be displayed within the open slot (e.g., whether a particularimage or video would be best suited for the open slot) and a bid amountfor the identified secondary content. The bid generation system may thentransmit a bid response that includes the bid amount and the identifiedsecondary content to a secondary content exchange system that manages areal-time bidding process for the open slot of the webpage or displayscreen. The secondary content exchange system may leverage a secondarycontent distribution system to transmit the identified secondary contentto one or more user devices. From the perspective of the secondarycontent exchange system, the round-trip time for a bid request to betransmitted and a corresponding bid response to be received may belimited to no more than 100 ms.

In order to determine whether the bid generation system should transmita bid response indicating the secondary content to be placed and theappropriate bid amount, the bid generation system may acquire andconsider a size and location of the open slot within the webpage ordisplay screen, the address for the webpage, a size of a display screenon which the identified secondary content would be displayed, a type ofcomputing device on which the identified secondary content would bedisplayed (e.g., whether the computing device is a mobile phone orlaptop computer), a physical location of the computing device on whichthe identified secondary content would be displayed (e.g., a GPSlocation for the computing device), an IP address associated with alocal network for the computing device or the computing device itself,an email address associated with an end user of the computing device,and/or permitted user-specific information (e.g., the web browsinghistory, age, and gender of the end user of the computing device). Ifthe bid generation system transmits a bid response to the secondarycontent exchange system and the bid response includes the highest bidamount received by the secondary content exchange system or a bid ofsufficient value, then the secondary content identified within the bidresponse may be transmitted to the computing device and displayed withinthe open slot.

In some embodiments, the bid generation system may acquire historicalplacement patterns and data linking past displays of secondary contenton numerous user devices to the acquisition of new subscribers of aparticular service (e.g., a streaming television service). The termviewer includes any user that responds to the secondary content, such asby clicking on the content, moving a cursor to hover over the secondarycontent, moving the location of the primary content in response to thesecondary content, or other response.

The broad term buyer includes any user that buys a product or serviceassociated with the secondary content, subscribes to receive a productor service associated with the secondary content, agrees to receive anewsletter or otherwise indicates they wish to receive one or more itemscorresponding to the secondary content. A placement pattern maycorrespond with a set of content placement dimensions, such as thelocation of an open slot within a webpage, a display size of the openslot, whether the open slot is above or below the main content of thewebpage, a web address for the webpage, a physical location of the userdevice displaying the webpage, and a display time for the secondarycontent (e.g., the hour of the year out of 8760 hours, the hour of theweek out of 168 hours, or the hour of the day out of 24 hours duringwhich the secondary content was displayed). Over time, the bidgeneration system may identify a set of positive placement patterns inwhich the display of secondary content correlates with the acquisitionof new subscribers of the particular service or new purchasers of theproduct advertised and a set of negative placement patterns in which thedisplay location, size or type of the secondary content did not lead tothe acquisition of new subscribers or purchasers of the particular itemor service. The bid generation system may store and rank the historicalplacement patterns (e.g., based on how often a placement pattern wasdeemed successful in leading to the acquisition of a new subscriber orthe average total bid amount required for a placement pattern to lead tothe acquisition of a new subscriber). The bid generation system may usethe historical placement patterns and their corresponding outcomeregarding whether a new subscriber was acquired as labeled training andevaluation data for training one or more machine learning models todetermine whether a bid response for secondary content should begenerated and transmitted to a secondary content exchange system.

In one embodiment, the bid generation system may train a first machinelearning model using a first set of historical placement patternscorresponding with whether secondary content displayed within a firstperiod of time (e.g., within the past month) led to the acquisition of anew subscriber and train a second machine learning model using a secondset of historical placement patterns corresponding with whethersecondary content displayed within a second period of time greater thanthe first period of time (e.g., within the year) led to the acquisitionof a new subscriber. One technical benefit of utilizing machine learningmodels covering different time periods is that fewer bid responses maybe transmitted to acquire a given number of new subscribers and/or anincreased number of new subscribers per a given number of bid responsesmay be acquired since a longer time period may correspond with a largerand more robust set of labeled training data while a shorter time periodmay correspond with a smaller set of labeled training data that includesmore recent end user behaviors.

In another embodiment, the bid generation system may train a firstmachine learning model using a first set of historical placementpatterns corresponding with whether secondary content displayed within afirst geographical region over a first period of time led to theacquisition of new subscribers and train a second machine learning modelusing a second set of historical placement patterns corresponding withwhether secondary content displayed within a second geographical regiondifferent from the first geographical region over the first period oftime led to the acquisition of new subscribers. One technical benefit ofutilizing machine learning models tailored to different geographicalregions is that fewer bid responses may be transmitted to acquire agiven number of new subscribers within the different geographicalregions.

In some cases, the bid generation system may generate perturbation bidsfor secondary content to be displayed under circumstances that deviatefrom the set of historically positive placement patterns in order todiscover new and improved positive placement patterns. In some cases, apercentage amount of total bid spending or a percentage of the totalnumber of transmitted bid responses within a particular period of time(e.g., 20% of the total number of bid responses within 168 hours) may beallocated to perturbation bids. In one example, the bid generationsystem may receive a bid request for an open slot within a webpage ordisplay screen and determine using one or more machine learning modelsthat submitting a bid response for the open slot should not besubmitted; however, in some cases a bid response may nonetheless besubmitted if particular evaluation criteria are satisfied. In oneexample, the particular evaluation criteria may be satisfied if a webaddress associated with a bid request comprises a domain that wasregistered within a past threshold period of time (e.g., within the pastyear) or more than a threshold amount of the content of the webpage hasbeen altered within the past threshold period of time (e.g., although adomain was registered, more than 95% of the webpage has been updatedwith new content within the past month). In another example, theparticular evaluation criteria may be satisfied if a physical locationof a user device displaying the secondary content is within ageographical region that has less than a threshold number of newsubscribers (e.g., within a particular city or county, there have beenless than 2000 new subscribers within the past month). In anotherexample, the particular evaluation criteria may be satisfied if aconfidence value for not submitting a bid response for the open slot isless than a threshold value (e.g., the confidence value for notsubmitting a bid response for the open slot is less than 50%) and thenumber of bid responses submitted within a particular period of time(e.g., within the past 24 hours) has been less than a threshold numberof bid responses (e.g., the bid generation system has transmitted lessthan 1000 bid responses within the past 24 hours). One technical benefitof generating perturbation bids for secondary content is that animproved set of labeled training data may be obtained leading toimproved machine learning models that escape local minima to find globalminimums; the improved machine learning models may lead to improveddecision making with fewer bid responses transmitted to acquire a givennumber of new subscribers thereby reducing energy consumption ofcomputing resources and reducing storage device requirements.

FIG. 1 depicts one embodiment of a networked computing environment 100in which the disclosed technology may be practiced. Networked computingenvironment 100 includes a plurality of computing devices interconnectedthrough one or more networks 180. The plurality of computing devices mayinclude mobile computing devices (e.g., a smartphone) and non-mobilecomputing devices (e.g., a desktop computer). The one or more networks180 allow a particular computing device to connect to and communicatewith another computing device. The depicted computing devices includemobile smartphone 110, laptop computing device 112, network-connecteddigital television 114, hardware server 116, secondary content placementand bidding system 140, and secondary content exchange system 160. Insome embodiments, the plurality of computing devices may include othercomputing devices not shown. In some embodiments, the plurality ofcomputing devices may include more than or less than the number ofcomputing devices depicted in FIG. 1 . The one or more networks 180 mayinclude a cellular network, a mobile network, a wireless network, awired network, a secure network such as an enterprise private network,an unsecure network such as a wireless open network, a local areanetwork (LAN), a wide area network (WAN), the Internet, or a combinationof networks. Each network of the one or more networks 180 may includehubs, bridges, routers, switches, and wired transmission media such as awired network or direct-wired connection.

In some embodiments, computing devices within the networked computingenvironment 100 may comprise real hardware computing devices or virtualcomputing devices, such as one or more virtual machines. Networkedstorage devices within the networked computing environment 100 maycomprise real hardware storage devices or virtual storage devices, suchas one or more virtual disks. The real hardware storage devices mayinclude non-volatile and volatile storage devices.

Networked computing environment 100 may provide a cloud computingenvironment for one or more computing devices. Cloud computing may referto Internet-based computing, wherein shared resources, software, and/orinformation are provided to the one or more computing devices on-demandvia the Internet (or other network). The term “cloud” may be used as ametaphor for the Internet, based on the cloud drawings used in computernetworking diagrams to depict the Internet as an abstraction of theunderlying infrastructure it represents.

The secondary content exchange system 160 may perform real-time biddingprocesses for placements of secondary content within open slots ofwebpages (e.g., within a banner location) and display screens (e.g.,within a splash screen) displayed using user computing devices, such asmobile smartphone 110, laptop computing device 112, andnetwork-connected digital television 114. The secondary content exchangesystem 160 may transmit bid requests for placement of secondary contentwithin an open slot of a webpage or display screen to a secondaryplacement and bidding system 140 and receive bid responses from thesecondary placement and bidding system 140. One embodiment of thesecondary content exchange system 160 includes a network interface 165,processor 166, memory 167, and disk 168 all in communication with eachother. Network interface 165 allows secondary content exchange system160 to connect to one or more networks 180. Network interface 165 mayinclude a wireless network interface and/or a wired network interface.Processor 166 allows secondary content exchange system 160 to executecomputer readable instructions stored in memory 167 in order to performprocesses discussed herein. Processor 166 may include one or moreprocessing units, such as one or more CPUs and/or one or more GPUs.Memory 167 may comprise one or more types of memory (e.g., RAM, SRAM,DRAM, ROM, EEPROM, or Flash). Memory 167 may comprise a hardware storagedevice or a semiconductor memory.

In some cases, the server 116 may comprise a server within a datacenter. The data center may include one or more servers, such as server116, in communication with one or more storage devices. The servers anddata storage devices within a data center may be in communication witheach other via a networking fabric connecting server data storage unitswithin the data center to each other. In general, a “server” may referto a hardware device that acts as the host in a client-serverrelationship or a software process that shares a resource with orperforms work for one or more clients. Communication between computingdevices in a client-server relationship may be initiated by a clientsending a request to the server asking for access to a particularresource or for particular work to be performed. The server maysubsequently perform the actions requested and send a response back tothe client.

The secondary placement and bidding system 140 may comprise anetwork-connected electronic device that generates and transmits bidresponses that include bid amounts and identification of secondarycontent to be displayed to the secondary content exchange system 160.One embodiment of secondary placement and bidding system 140 includes anetwork interface 145, processor 146, memory 147, and disk 148 all incommunication with each other. Network interface 145 allows secondaryplacement and bidding system 140 to connect to one or more networks 180.Network interface 145 allows secondary placement and bidding system 140to connect to the secondary content exchange system 160 via the one ormore networks 180. Network interface 145 may include a wireless networkinterface and/or a wired network interface. Processor 146 allowssecondary placement and bidding system 140 to execute computer readableinstructions stored in memory 147 in order to perform processesdiscussed herein. Processor 146 may include one or more processingunits, such as one or more CPUs and/or one or more GPUs. Memory 147 maycomprise one or more types of memory (e.g., RAM, SRAM, DRAM, ROM,EEPROM, or Flash). Memory 147 may comprise a hardware storage device.The processor 146 and memory 147 may be configured to allow secondaryplacement and bidding system 140 to store, train, and/or deploy machinelearning models for determining bid responses.

In some cases, a display of a user computing device, such as a displayof mobile smartphone 110, laptop computing device 112, ornetwork-connected digital television 114, may be used to display awebpage that includes both primary content for the webpage and secondarycontent that comprises content that has been selected using a real-timebidding process for placement of the secondary content within an openslot of the webpage or an overlay on the webpage. The primary contentmay be acquired from a web server hosting the webpage, such as a webserver running on hardware server 116, and the secondary content may beacquired from a second computing device, such as the secondary contentexchange system 160 or the secondary content placement and biddingsystem 140. The secondary content that has been selected during areal-time bidding process may be transmitted to the user computingdevice in response to a request by an end user of the user computingdevice to view a particular webpage on the display of the user computingdevice. Both the primary and secondary content displayed on the displayof the user computing device may comprise images, text, videos, and/oraudiovisual content. The secondary content may be displayed within anopen slot within the particular webpage. The particular webpage hostedby the web server may include one or more open slots that may correspondwith one or more impression opportunities.

In some cases, a real-time bidding process may be initiated when an enduser of a user computing device requests to view or load the particularwebpage causing a web server hosting the particular webpage to transmitthe primary content for the webpage to the user computing device. Theweb server may also acquire permitted user-specific information (e.g.,the web browsing history, age, and gender of the end user). The webserver may transmit information specifying the size and location of theone or more open slots within the particular webpage and the permitteduser-specific information to an intermediary computing device notdepicted (e.g., to a supply side platform) that is in communication withthe secondary content exchange system 160 that will select the secondarycontent for display within the one or more open slots of the particularwebpage. The secondary content exchange system 160 may transmit bidrequests for the one or more open slots to one or more otherintermediary computing devices not depicted (e.g., to a demand sideplatform), along with the information specifying the size and locationof the one or more open slots within the particular webpage and thepermitted user-specific information for the end user requesting theparticular webpage. In response, the one or more other intermediarycomputing devices may transmit bid responses to the bid requests to thesecondary content exchange system 160. The secondary content exchangesystem 160 may then select the secondary content to be displayed withthe particular webpage based on the bid responses (e.g., selecting thesecondary content corresponding with the highest bid amount).Subsequently, the secondary content selected by the secondary contentexchange system 160 may be transmitted to the user computing device tobe displayed along with the main content of the particular webpage.

FIG. 2 depicts one embodiment of the secondary content placement andbidding system 140 in FIG. 1 . The secondary content placement andbidding system 140 may utilize one or more machine learning models todetermine whether to display secondary content within webpages anddisplay screens and the best locations to place the secondary contentwithin the webpages and display screens. The secondary content placementand bidding system 140 may submit or transmit bid responses for openslots within the webpages and display screens corresponding with desiredplacement locations for the secondary content. As depicted, thesecondary content placement and bidding system 140 includes a bidgeneration system 230, perturbation bid generator 232, machine learningmodel trainer 260, machine learning models 262, training data generator270, and training data 272. The machine learning models 262 may compriseone or more machine learning models that are stored in a memory, such asmemory 147 in FIG. 1 or memory 247 in FIG. 2 . The one or more machinelearning models may be trained, executed, and/or deployed using one ormore processors, such as processor 146 in FIG. 1 or processor 246 inFIG. 2 . The one or more machine learning models may include neuralnetworks (e.g., deep neural networks), support vector machine models,decision tree-based models, k-nearest neighbor models, Bayesiannetworks, or other types of models such as linear models and/ornon-linear models. A linear model may be specified as a linearcombination of input features. A neural network may comprise afeed-forward neural network, recurrent neural network, or aconvolutional neural network.

The secondary content placement and bidding system 140 also includes aset of machines including machine 244 and machine 254. In some cases,the set of machines may be grouped together and presented as a singlecomputing system. Each machine of the set of machines may comprise anode in a cluster (e.g., a failover cluster). The cluster may providecomputing and memory resources for the secondary content placement andbidding system 140. In one example, instructions and data (e.g., inputfeature data) may be stored within the memory resources of the clusterand used to facilitate operations and/or functions performed by thecomputing resources of the cluster. The machine 244 includes a networkinterface 245, processor 246, memory 247, and disk 248 all incommunication with each other. Processor 246 allows machine 244 toexecute computer readable instructions stored in memory 247 to performprocesses described herein. Disk 248 may include a hard disk driveand/or a solid-state drive. The machine 254 includes a network interface255, processor 256, memory 257, and disk 258 all in communication witheach other. Processor 256 allows machine 254 to execute computerreadable instructions stored in memory 257 to perform processesdescribed herein. Disk 258 may include a hard disk drive and/or asolid-state drive. In some cases, disk 258 may include a flash-based SSDor a hybrid HDD/SSD drive.

In one embodiment, the depicted components of the secondary contentplacement and bidding system 140 includes the bid generation system 230,perturbation bid generator 232, machine learning model trainer 260,machine learning models 262, training data generator 270, and trainingdata 272 may be implemented using the set of machines. In anotherembodiment, one or more of the depicted components of the secondarycontent placement and bidding system 140 may be run in the cloud or in avirtualized environment that allows virtual hardware to be created anddecoupled from the underlying physical hardware.

The secondary content placement and bidding system 140 may utilize themachine learning model trainer 260, machine learning models 262,training data generator 270, and training data 272 to implementsupervised machine learning algorithms. Supervised machine learning mayrefer to machine learning methods where labeled training data is used totrain or generate a machine learning model or set of mapping functionsthat maps input feature vectors to output predicted answers. The trainedmachine learning model may then be deployed to map new input featurevectors to predicted answers. Supervised machine learning may be used tosolve regression and classification problems. A regression problem iswhere the output predicted answer comprises a numerical value.Regression algorithms may include linear regression, polynomialregression, and logistic regression algorithms. A classification problemis where the output predicted answer comprises a label (or anidentification of a particular class). Classification algorithms mayinclude support vector machine, decision tree, k-nearest neighbor, andrandom forest algorithms. In some cases, a support vector machinealgorithm may determine a hyperplane (or decision boundary) thatmaximizes the distance between data points for two different classes.The hyperplane may separate the data points for the two differentclasses and a margin between the hyperplane and a set of nearest datapoints (or support vectors) may be determined to maximize the distancebetween the data points for the two different classes.

During a training phase, a machine learning model, such as one of themachine learning models 262, may be trained using the machine learningmodel trainer 260 to generate predicted answers using a set of labeledtraining data, such as training data 272. The training data 272 may bestored in a memory, such as memory 147 in FIG. 1 or memory 247 in FIG. 2. In some cases, labeled data may be split into a training data set andan evaluation data set prior to or during the training phase. In somecases, the training data generator 270 may determine the training dataset and the evaluation data set to be applied during the training phase.The training data set may correspond with historical data correspondingwith a period of time (e.g., over the past year or month).

The machine learning model trainer 260 may implement a machine learningalgorithm that uses a training data set from the training data 272 totrain the machine learning model and uses the evaluation data set toevaluate the predictive ability of the trained machine learning model.The predictive performance of the trained machine learning model may bedetermined by comparing predicted answers generated by the trainedmachine learning model with the target answers in the evaluation dataset (or ground truth values). For a linear model, the machine learningalgorithm may determine a weight for each input feature to generate atrained machine learning model that can output a predicted answer. Insome cases, the machine learning algorithm may include a loss functionand an optimization technique. The loss function may quantify thepenalty that is incurred when a predicted answer generated by themachine learning model does not equal the appropriate target answer. Theoptimization technique may seek to minimize the quantified loss. Oneexample of an appropriate optimization technique is online stochasticgradient descent.

The bid generation system 230 may configure one or more machine learningmodels to implement a machine learning classifier that categorizes inputfeatures into one or more classes. The one or more machine learningmodels may be utilized to perform binary classification (assigning aninput feature vector to one of two classes) or multi-classclassification (assigning an input feature vector to one of three ormore classes). The output of the binary classification may comprise aprediction score that indicates the probability that an input featurevector belongs to a particular class. In some cases, a binary classifiermay correspond with a function that may be used to decide whether or notan input feature vector (e.g., a vector of numbers representing theinput features) should be assigned to either a first class or a secondclass. The binary classifier may use a classification algorithm thatoutputs predictions based on a linear predictor function combining a setof weights with the input feature vector. For example, theclassification algorithm may compute the scalar product between theinput feature vector and a vector of weights and then assign the inputfeature vector to the first class if the scalar product exceeds athreshold value.

The number of input features (or input variables) of a labeled data setmay be referred to as its dimensionality. In some cases, dimensionalityreduction may be used to reduce the number of input features that areused for training a machine learning model. The dimensionality reductionmay be performed via feature selection (e.g., reducing the dimensionalfeature space by selecting a subset of the most relevant features froman original set of input features) and feature extraction (e.g.,reducing the dimensional feature space by deriving a new featuresubspace from the original set of input features). With featureextraction, new features may be different from the input features of theoriginal set of input features and may retain most of the relevantinformation from a combination of the original set of input features. Inone example, feature selection may be performed using sequentialbackward selection and unsupervised feature extraction may be performedusing principal component analysis.

In some embodiments, the machine learning model trainer 260 may train afirst machine learning model with historical training data over a firsttime period (e.g., the past month) using a first number of inputfeatures and may train a second machine learning model with historicaltraining data over a second time period greater than the first period oftime (e.g., the past year) using a second number of input features lessthan the first number of input features. The machine learning modeltrainer 260 may perform dimensionality reduction to reduce the number ofinput features from a first number of input features (e.g., 500) to asecond number of input features less than the first number of inputfeatures (e.g., 100).

The machine learning model trainer 260 may train the first machinelearning model using one or more training or learning algorithms. Forexample, the machine learning model trainer 260 may utilize backwardspropagation of errors (or backpropagation) to train a multi-layer neuralnetwork. In some cases, the machine learning model trainer 260 mayperform supervised training techniques using a set of labeled trainingdata. In other cases, the machine learning model trainer 260 may performunsupervised training techniques using a set of unlabeled training data.The machine learning model trainer 260 may perform a number ofgeneralization techniques to improve the generalization capability ofthe machine learning models being trained, such as weight-decay anddropout regularization.

In some embodiments, the training data 272 may include a set of trainingexamples. In one example, each training example of the set of trainingexamples may include an input-output pair, such as a pair comprising aninput vector and a target answer (or supervisory signal). In anotherexample, each training example of the set of training examples mayinclude an input vector and a pair of outcomes corresponding with afirst decision to perform a first action (e.g., to transmit a bidresponse) and a second decision to not perform the first action (e.g.,to not transmit a bid response). In this case, each outcome of the pairof outcomes may be scored and a positive label may be applied to thehigher scoring outcome while a negative label is applied to the lowerscoring outcome.

In some cases, the perturbation bid generator 232 may detect that thetraining data 272 does not include sufficient training examples for aparticular web address (e.g., a recently registered web address) or aparticular geographic region (e.g., a particular city or county regionthat has had less than a threshold number of new subscribers for aservice within the past month). In response, the perturbation bidgenerator 232 may generate perturbation bid responses for secondarycontent to be displayed on user devices operating within the particulargeographic region or on user devices displaying a webpage correspondingwith the web address. The perturbation bid generator 232 may alsorandomly submit bid responses in order to maintain that perturbation bidresponses are a percentage of a total number of transmitted bidresponses within a particular period of time (e.g., that perturbationbid responses comprise 20% of the total number of bid responses withinthe past 168 hours).

FIG. 3A depicts one embodiment of a chart including a set of placementpatterns. Each placement pattern may be associated with a rate of newsubscriber acquisitions per the number of bid responses submitted to acontent exchange system, such as the secondary content exchange system160 in FIG. 1 . For example, the placement pattern 312 may be associatedwith a historical rate in the past year of generating 10K new subscriberacquisitions per 500K bid responses submitted to the content exchangesystem. The first column 302 in the chart provides different contentplacement dimensions for transmitting bid responses for displayingsecondary content within an open slot of a webpage or display screen.The content placement dimensions include the placement location and sizeof the displayed secondary content within a webpage or display screen,an identification of the location and size of the open slot within thewebpage or display screen, whether the open slot is above or below theprimary content of the webpage (e.g., the fold position), a web addressor URL for the webpage, a physical location of a computing devicedisplaying the secondary content (e.g., the physical location maycorrespond with a city or region in which the computing device islocated), a device type for the computing device displaying thesecondary content, and a display time for the secondary content (e.g.,the hour of the week out of 168 hours that the secondary content will bedisplayed within the open slot). The placement location and size of thedisplayed secondary content within the webpage or display screen maycorrespond with placement location 381, which may comprise a small ormobile leaderboard that is 320 pixels by 50 pixels. The fold position382 may correspond with whether an open slot is above or below theprimary content of a webpage. The sites 383 may correspond with a webaddress or URL for a webpage. The geolocation—city 384 may correspondwith one of 27,248 different city locations. The hour of the week 385may correspond with one of 168 hours in a week.

The second column 304 in the chart provides the number of options foreach content placement dimension. For example, there are 21 differentplacement locations, 52 geographic regions, five device types, and 168hours in a week. The third column 306 in the chart provides the highestranked placement pattern 312 that has historically generated the highestnumber of new subscriber acquisitions per the number of bid responsessubmitted. The specific content placement dimensions for the highestranked placement pattern 312 may correspond with an input featurevector, wherein each input feature comprises one of the contentplacement dimensions within the first column 302. The fourth column 308in the chart provides the second highest ranked placement pattern andthe fifth column 310 in the chart provides the third highest rankedplacement pattern.

FIG. 3B depicts one embodiment of a set of labeled training data. Theset of labeled training data may be stored as part of the training data272 in FIG. 2 . Each row may correspond with an input feature vector andan output target answer (or label). For example, input feature vector340 includes input features 322-326 and the input feature vector 340maps to a target answer 330. Input feature 322 comprises a smallleaderboard open slot location that corresponds with an open slot thatis a rectangle shape of 320 pixels by 50 pixels and located at thebottom of a webpage or display screen. Input feature 323 comprises anidentification that the open slot is displayed below the main contentfor a webpage or display screen. Input feature 324 comprises a webaddress for a webpage. Input feature 325 comprises an identification ofa city region. Input feature 326 comprises an hour of a week that thesecondary content is displayed. The target answer 330 comprises anidentification that the input feature vector 340 maps to a probabilitythat is above a threshold probability that a new subscriber will beacquired. In one example, the threshold probability may be set to 70%.

FIG. 3C depicts another embodiment of a set of labeled training data.The set of labeled training data may be stored as part of the trainingdata 272 in FIG. 2 . Each row may correspond with an input featurevector and an output target answer (or label) that is one of threepossible target answers. The three possible target answers comprise anidentification that an input feature vector is likely to lead to theacquisition of a new long-term subscriber, is likely to lead to theacquisition of a new short-term subscriber, or is not likely to lead tothe acquisition of a new subscriber. As depicted, the input featurevector 340 maps to target answer 344. The target answer 344 comprises anidentification that the input feature vector 340 maps to a probabilitythat is above a threshold probability that a new short-term subscriberwill be acquired. A new long-term subscriber may comprise a newsubscriber that is likely to remain a subscriber for at least one year.A new long-term subscriber may have characteristics such as that amulti-year subscription was entered or that the new subscriber is likelyassociated with a family signing-up for a family plan subscription. Insome embodiments, the bid amount associated with a bid response may beincreased (e.g., doubled or tripled) if the predicted outcome for aninput feature vector is for a new long-term subscriber to be acquiredcompared with acquiring a new subscriber that is not likely to remain asubscriber for at least a threshold amount of time (e.g., for at least ayear).

FIG. 4A depicts one embodiment of a user device 402 displaying a portionof an display screen that includes primary content 407 located at a leftside of the display screen and an open slot for secondary content 408located at the bottom of the display screen. In one example, the primarycontent may comprise text not depicted related to the main content forthe display screen. The display screen may be provided by an applicationrunning on the user device 402, such as a sporting event application andthe text related to the main content for the display screen may comprisetext related to a sporting event displayed via the sporting eventapplication. In one example, the open slot for secondary content 408 maycorrespond with a fixed-sized rectangular region at the bottom of thedisplay screen. The user device 402 may correspond with a computingdevice, such as the laptop computing device 112 in FIG. 1 .

FIG. 4B depicts one embodiment of the user device 402 of FIG. 4Adisplaying a webpage or display screen for acquiring new subscribers ofa service or new product buyers. The webpage for acquiring newsubscribers of a service or new product buyers may be referred to as anew product purchaser webpage. An end user of the user device 402 mayuse a web browser running on the user device 402 in order to view thewebpage and enter new subscriber information 412-414, such as a physicaladdress for the new subscriber and an email address for the newsubscriber. Upon receiving the acquisition of a new subscriber of aservice (e.g., a streaming television service), a web server hosting thewebpage for acquiring new subscribers of the service may communicatewith the secondary content exchange system 160 in FIG. 1 or thesecondary content placement and bidding system 140 in FIG. 1 in order tolink the new subscriber information 412-414 provided by the end user ofthe user device 402 with a history of secondary content that waspreviously displayed on the user device 402. The new subscriberinformation 412-414 provided by the end user of the user device 402 maybe assigned a digital identity (or an anonymized unique alphanumericidentifier) that is transmitted to the secondary content placement andbidding system 140 in FIG. 1 along with the history of the secondarycontent that was previously displayed on the user device 402.

In some cases, the history of secondary content that was displayed onthe user device 402 may be determined by the secondary content exchangesystem 160 in FIG. 1 or the secondary content placement and biddingsystem 140 in FIG. 1 via the use of tracking codes, cookie syncing,and/or embedded third-party cookie information. In one example, thehistory of secondary content that was displayed on the user device 402may comprise fifty different displays of secondary content within thepast six months. In other cases, the history of secondary content thatwas displayed on user devices within the same geographical region as theuser device 402 (e.g., within the same city block or located within aone mile radius of the current location of the user device 402) within aparticular time period (e.g., the past six months) may be determined bythe secondary content exchange system 160 in FIG. 1 and transmitted tothe secondary content placement and bidding system 140 in FIG. 1 ; inthis case, identifying the secondary content that was actually displayedusing the user device 402 is not necessary.

The history of secondary content that was displayed on the user device402 that led to the acquisition of the new subscriber may be used by thesecondary content placement and bidding system 140 in FIG. 1 todetermine a set of placement patterns that led to the new subscriberacquisition. The set of placement patterns that led to the newsubscriber acquisition may be stored as part of the training data 272 inFIG. 2 . Numerous sets of placement patterns that led to new subscriberacquisitions may be mined and analyzed to discover high value placementpatterns for secondary content that are likely to lead to future newsubscriber acquisitions. In one example, one of the placement patternsassociated with the display of secondary content on the user device 402may comprise the placement pattern 312 of FIG. 3A. Another placementpattern associated with the display of secondary content on the userdevice 402 that led to the new subscriber acquisition may comprise asimilar placement pattern as the placement pattern 312 of FIG. 3A, butwith a different hour of the week (e.g., hour 34 of the week), adifferent location and size for the displayed secondary content, and/ora different web address or display screen for the displayed secondarycontent.

FIGS. 5A-5B depict a flowchart describing one embodiment of a processfor selecting the placement of secondary content that is displayed alongwith primary content on a user device. In one embodiment, the process ofFIGS. 5A-5B may be performed by a secondary content placement andbidding system, such as the secondary content placement and biddingsystem 140 in FIG. 2 . In some embodiments, the process or portions ofthe process of FIGS. 5A-5B may be performed using one or more virtualmachines and one or more virtual storage devices.

In step 502, a bid request from a computing device to display secondarycontent within an open slot of a webpage to be displayed on a userdevice is acquired. The user device may correspond with a user computingdevice, such as the mobile smartphone 110 in FIG. 1 , the laptopcomputing device 112 in FIG. 1 , or the user device 402 in FIG. 4A. Thebid request may be acquired from a secondary content exchange system,such as the secondary content exchange system 160 in FIG. 1 . In somecases, the bid request from a secondary content exchange system maycomprise a bid request to display secondary content along with primarycontent to be displayed on the user device. The secondary content may bedisplayed within an open slot of the webpage or a display screen. Instep 504, a placement context for the secondary content is determined.The placement context for the secondary content may include a size andlocation of the open slot within the webpage, a web address for thewebpage, a display screen size for the user device, and/or a location ofthe user device. In some cases, the placement context may comprise anidentification of an application from which the secondary content willbe displayed. In step 506, a feature vector for the placement context isgenerated. In one example, the feature vector may correspond with theinput feature vector 340 in FIG. 3C.

In step 508, one or more machine learning models that were trained usinghistorical placement patterns corresponding with acquisitions of newsubscribers for a particular service are selected based on the placementcontext. The one or more machine learning models may be generated orretrained using a machine learning model trainer, such as the machinelearning model trainer 260 in FIG. 2 . The one or more machine learningmodels may correspond with the machine learning models 262 in FIG. 2 .

In at least one embodiment, the one or more machine learning models maybe selected based on a physical location of the user device, ageographical region in which the user device resides, an age of an enduser of the user device, and/or a size of a display screen for the userdevice. In some cases, machine learning models may be trained usinghistorical placement patterns from a particular geographical region(e.g., from the same country, state, or county region).

In step 510, a predicted answer associated with a decision to transmit abid response to the computing device in response to the bid request isgenerated using the one or more machine learning models and the featurevector generated in step 506. The feature vector may comprise a set ofinput variables that are input to the one or more machine learningmodels to generate the predicted answer or a decision regarding whetherto transmit a bid response in response to the bid request. In oneexample, the predicted answer may comprise a probability value that thebid response should be transmitted to the computing device. If theprobability value is greater than a threshold probability value (e.g.,is greater than 0.8), then the predicted answer may cause the bidresponse to be transmitted to the computing device. In another example,the predicted answer may comprise an output label corresponding with thepositive action of transmitting the bid response.

In step 512, a set of target content is identified based on theplacement context and the predicted answer. The set of target contentmay comprise text, images, videos, and/or audiovisual content. The setof target content may be selected based on a display size for the userdevice and a geographical location for the user device. In one example,the set of target content may comprise an image if the display size forthe user device is less than a threshold display size; otherwise, theset of target content may comprise a video if the display size for theuser device is not less than the threshold display size. The set oftarget content may be identified in response to detecting that thepredicted answer comprises a particular label (e.g., a label associatedwith transmitting a bid response) or in response to detecting that aprobability value corresponding with the predicted answer exceeds athreshold value (e.g., is greater than 0.75).

In step 514, a bid amount for the bid response is computed based on thepredicted answer. The bid amount may be a function of a probabilityvalue associated with the predicted answer. In this case, a higherlikelihood that a bid response should be transmitted may lead to ahigher bid amount. The bid amount may be determined based on a displayscreen size for the user device and/or a location of the user device.The bid amount may be set in order to pace the total bid amounts over aparticular time period. For example, the bid amount may be set such thatthe sum of the bid amounts over an hour does not exceed a thresholdvalue. In step 516, the bid response is determined or generated using abid generation system, such as the bid generation system 230 in FIG. 2 .The bid response may be determined or generated based on the predictedanswer. For example, the bid response may be generated in response todetecting that the predicted answer comprises a particularclassification or that the predicted answer exceeds a thresholdprobability value (e.g., is greater than 75%). The generated bidresponse may include the bid amount and an identification of the set oftarget content identified in step 512. The bid response may be generatedin response to detecting that the predicted answer corresponds with aprobability value that is greater than a probability threshold (e.g., isgreater than 0.8).

In step 518, the bid response is transmitted to the computing device. Inone example, the computing device may correspond with the secondarycontent exchange system 160 in FIG. 1 . In step 520, the set of targetcontent is transmitted such that the user device receives the set oftarget content. In one example, the set of target content may betransmitted to the secondary content exchange system 160 in FIG. 1 ortransmitted to an intermediary server for facilitating content deliveryto the user device. In step 522, it is detected that a new subscriberfor the particular service has accessed a new subscriber webpage. Forexample, it may be detected that an end user of the user device hasrequested to view a new subscriber webpage, such as the new subscriberwebpage depicted in FIG. 4B. In step 524, a set of secondary contentthat was previously displayed using the user device is identified. Insome cases, the set of secondary content that was previously displayedon the user device may be acquired from the secondary content exchangesystem 160 in FIG. 1 or determined via the use of tracking codes, cookiesyncing, and embedded third-party cookie information. In one example,the set of secondary content that was displayed on the user device maycomprise fifty different displays of secondary content within the pastsix months. In step 526, a set of placement patterns corresponding withbid responses for the set of secondary content is determined. In step528, the set of placement patterns is stored in a training datarepository. The training data repository may correspond with thetraining data 272 in FIG. 2 . Over time, machine learning models may begenerated or retrained on a periodic bases using historical placementpatterns stored within the training data repository. In one embodiment,a first machine learning model of the one or more machine learningmodels may be updated or retrained every 24 hours using historicalplacement patterns stored within the training data repository.

FIGS. 5C-5D depict a flowchart describing another embodiment of aprocess for selecting the placement of secondary content that isdisplayed along with primary content on a user device. In oneembodiment, the process of FIGS. 5C-5D may be performed by a secondarycontent placement and bidding system, such as the secondary contentplacement and bidding system 140 in FIG. 2 . In some embodiments, theprocess or portions of the process of FIGS. 5C-5D may be performed usingone or more virtual machines and one or more virtual storage devices.

In step 532, a bid request to display secondary content along withprimary content to be displayed on a user device is acquired from asecondary content exchange system. The secondary content exchange systemmay correspond with the secondary content exchange system 160 in FIG. 1. In step 534, a placement context for the secondary content isdetermined. The placement context may include a size and location of anopen slot for the secondary content within a webpage or an displayscreen, an identification of a source of the primary content (e.g., anidentification of a particular webpage address or URL), a display screensize for the user device, a location of the user device (e.g., a GPSlocation for the user device), and permitted user-specific informationof an end user of the user device (e.g., an age of the end user). Instep 536, a set of input variables is generated based on the placementcontext. The set of input variables may correspond with a featurevector.

In step 538, one or more machine learning models are selected based onthe placement context. In one example, a first machine learning model ofthe one or more machine learning models may be selected based on the ageof the end user, the location of the user device, and/or theidentification of the source of the primary content. In step 540, apredicted answer associated with a decision to transmit a bid responsein response to the bid request is generated using the one or moremachine learning models.

In step 542, it is determined whether the predicted answer correspondswith transmitting the bid response. If it is determined that thepredicted answer does not correspond with transmitting the bid response,then step 544 is performed. If it is determined that the predictedanswer does correspond with transmitting the bid response, then step 550is performed. In step 544, it is determined if a perturbation bid shouldbe generated based on the predicted answer and the placement context. Instep 545, the perturbation bid is generated. The perturbation bid maygenerated based on the placement context. In one embodiment, theperturbation bid may be generated in response to detection that thesecondary content to be displayed on a user device is operating within aparticular geographic region or will be displayed on a webpagecorresponding with a particular web address. In step 546, theperturbation bid is transmitted to the secondary content exchangesystem.

In step 550, a set of target content to be displayed on the user deviceis identified based on the predicted answer and the placement context.In one example, the set of target content may comprise a particularvideo or image that is identified based on an age of the end user, alocation of the user device, and/or a web address or URL associated withthe primary content to be displayed on the user device. In response todetecting that the predicted answer corresponds with transmitting thebid response, a secondary content placement and bidding system mayselect a first image out of a plurality of images associated withpossible secondary content to be displayed on the user device based onthe placement context for the secondary content.

In step 552, a bid amount for the bid response is determined based onthe predicted answer. In step 554, the bid response including the bidamount and an identification of the set of target content to bedisplayed on the user device is generated. In step 556, the bid responseis transmitted to the secondary content exchange system. In step 558,the set of target content is transmitted such that the user devicereceives the set of target content and displays the set of targetcontent along with primary content using a display of the user device.

At least one embodiment of the disclosed technology includes acquiring abid request from a computing device to display a set of secondarycontent within an open slot of a webpage or display screen to bedisplayed on a user device, determining a placement context for the setof secondary content, generating a feature vector based on the placementcontext, generating a predicted answer associated with a decision totransmit a bid response to the computing device in response to the bidrequest using one or more machine learning models and the featurevector, identifying the set of secondary content based on the predictedanswer and the placement context, generating the bid response includingan identification of the set of secondary content to be displayed withinthe open slot of the webpage or display screen, transmitting the bidresponse to the computing device, and transmitting the set of secondarycontent to the user device.

At least one embodiment of the disclosed technology comprises anelectronic device including a storage device (e.g., a semiconductormemory) and one or more processors in communication with the storagedevice. The storage device configured to store one or more machinelearning models. The one or more processors configured to acquire a bidrequest from a computing device to display a set of secondary contentalong with primary content to be displayed on a user device, determine aplacement context for the set of secondary content, generate a featurevector based on the placement context, generate a predicted answerassociated with a decision to transmit a bid response to the computingdevice in response to the bid request using the one or more machinelearning models and the feature vector, determine the bid response basedon the predicted answer (e.g., the bid response including anidentification of the set of secondary content to be displayed on theuser device), and transmit the bid response to the computing device.

At least one embodiment of the disclosed technology includes acquiring abid request from a computing device to display a set of secondarycontent within an open slot of a webpage or display screen to bedisplayed on a user device, determining a placement context for the setof secondary content including a location of the user device, generatinga feature vector based on the placement context, generating a predictedanswer associated with a decision to transmit a bid response to thecomputing device in response to the bid request using one or moremachine learning models and the feature vector, the one or more machinelearning models include a first machine learning model that was trainedusing a first set of historical placement patterns corresponding with afirst period of time and a second machine learning model that wastrained using a second set of historical placement patternscorresponding with a second period of time greater than the first periodof time. The method further comprising identifying the set of secondarycontent based on the predicted answer, generating the bid responseincluding an identification of the set of secondary content to bedisplayed within the open slot of the webpage or display screen,transmitting the bid response to the computing device, and transmittingthe set of secondary content such that the set of secondary content isprovided to the user device.

The disclosed technology may be described in the context ofcomputer-executable instructions being executed by a computer orprocessor. The computer-executable instructions may correspond withportions of computer program code, routines, programs, objects, softwarecomponents, data structures, or other types of computer-relatedstructures that may be used to perform processes using a computer.Computer program code used for implementing various operations oraspects of the disclosed technology may be developed using one or moreprogramming languages, including an object oriented programming languagesuch as Java or C++, a function programming language such as Lisp, aprocedural programming language such as the “C” programming language orVisual Basic, or a dynamic programming language such as Python orJavaScript. In some cases, computer program code or machine-levelinstructions derived from the computer program code may execute entirelyon an end user's computer, partly on an end user's computer, partly onan end user's computer and partly on a remote computer, or entirely on aremote computer or server.

The flowcharts and block diagrams in the figures provide illustrationsof the architecture, functionality, and operation of possibleimplementations of systems, methods, and computer program productsaccording to various aspects of the disclosed technology. In thisregard, each block in a flowchart may correspond with a program moduleor portion of computer program code, which may comprise one or morecomputer-executable instructions for implementing the specifiedfunctionality. In some implementations, the functionality noted within ablock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. In someimplementations, the functionality noted within a block may beimplemented using hardware, software, or a combination of hardware andsoftware.

For purposes of this document, it should be noted that the dimensions ofthe various features depicted in the figures may not necessarily bedrawn to scale.

For purposes of this document, reference in the specification to “anembodiment,” “one embodiment,” “some embodiments,” or “anotherembodiment” may be used to describe different embodiments and do notnecessarily refer to the same embodiment.

For purposes of this document, a connection may be a direct connectionor an indirect connection (e.g., via another part). In some cases, whenan element is referred to as being connected or coupled to anotherelement, the element may be directly connected to the other element orindirectly connected to the other element via intervening elements. Whenan element is referred to as being directly connected to anotherelement, then there are no intervening elements between the element andthe other element.

For purposes of this document, the term “based on” may be read as “basedat least in part on.”

For purposes of this document, without additional context, use ofnumerical terms such as a “first” object, a “second” object, and a“third” object may not imply an ordering of objects, but may instead beused for identification purposes to identify different objects.

For purposes of this document, the term “set” of objects may refer to a“set” of one or more of the objects.

The various embodiments described above can be combined to providefurther embodiments. All of the U.S. patents, U.S. patent applicationpublications, U.S. patent applications, foreign patents, foreign patentapplications and non-patent publications referred to in thisspecification and/or listed in the Application Data Sheet areincorporated herein by reference, in their entirety. Aspects of theembodiments can be modified, if necessary to employ concepts of thevarious patents, applications and publications to provide yet furtherembodiments.

These and other changes can be made to the embodiments in light of theabove-detailed description. In general, in the following claims, theterms used should not be construed to limit the claims to the specificembodiments disclosed in the specification and the claims, but should beconstrued to include all possible embodiments along with the full scopeof equivalents to which such claims are entitled. Accordingly, theclaims are not limited by the disclosure.

The invention claimed is:
 1. A system, comprising: a storage deviceconfigured to store one or more machine learning models; and one or moreprocessors in communication with the storage device configured to:acquire a bid request from a computing device to display a set ofsecondary content along with primary content on a user device; determinea placement context for the set of secondary content to be displayed onthe user device; generate a feature vector based on the placementcontext; generate, using the one or more machine learning models and thefeature vector, a predicted answer associated with a decision totransmit a bid response to the computing device in response to the bidrequest; determine the bid response based on the predicted answer, thebid response including an identification of the set of secondary contentto be displayed on the user device; and transmit the bid response to thecomputing device.
 2. The system of claim 1, wherein: the one or moremachine learning models include a first machine learning model that wastrained using a first set of historical placement patterns correspondingwith a first period of time and a second machine learning model that wastrained using a second set of historical placement patternscorresponding with a second period of time greater than the first periodof time.
 3. The system of claim 1, wherein: the one or more machinelearning models include a first machine learning model that was trainedusing a first set of historical placement patterns corresponding with afirst geographical region and a second machine learning model that wastrained using a second set of historical placement patternscorresponding with a second geographical region different from the firstgeographical region.
 4. The system of claim 1, wherein: the placementcontext includes a location of an open slot within a webpage or displayscreen that the set of secondary content will be displayed within on theuser device.
 5. The system of claim 1, wherein: the placement contextincludes a display screen size for the user device.
 6. The system ofclaim 1, wherein: the one or more processors are configured to detectthat a new subscriber for a particular service has accessed a newsubscriber webpage and determine a set of historical placement patternscorresponding with secondary content that was displayed using the userdevice prior to detection that the new subscriber for the particularservice accessed the new subscriber webpage; and the one or moreprocessors are configured to store the set of historical placementpatterns using a training data repository.
 7. The system of claim 6,wherein: the one or more processors are configured to retrain a firstmachine learning model of the one or more machine learning models usingthe set of historical placement patterns stored within the training datarepository.
 8. A method for the placement of secondary content,comprising: acquiring a bid request from a computing device to display aset of secondary content within an open slot of a webpage or displayscreen to be displayed on a user device; determining a placement contextfor the set of secondary content to be displayed on the user device;generating a feature vector based on the placement context; generating,using one or more machine learning models and the feature vector, apredicted answer associated with a decision to transmit a bid responseto the computing device in response to the bid request; identifying theset of secondary content based on the predicted answer and the placementcontext; generating the bid response including an identification of theset of secondary content to be displayed within the open slot of thewebpage or display screen; transmitting the bid response to thecomputing device; and transmitting the set of secondary content to theuser device.
 9. The method of claim 8, further comprising: detectingthat a new subscriber for a particular service has accessed a newsubscriber webpage; determining a set of historical placement patternscorresponding with secondary content that was displayed using the userdevice prior to the detecting that the new subscriber for the particularservice has accessed the new subscriber webpage; and storing the set ofhistorical placement patterns in a training data repository.
 10. Themethod of claim 9, further comprising: retraining a first machinelearning model of the one or more machine learning models using the setof historical placement patterns stored within the training datarepository.
 11. The method of claim 8, wherein: the placement contextincludes a size and location of the open slot within the webpage ordisplay screen.
 12. The method of claim 8, wherein: the placementcontext includes a display screen size for the user device and alocation of the user device.
 13. The method of claim 8, furthercomprising: determining a bid amount for the bid response based on thepredicted answer; and generating the bid response including the bidamount and the identification of the set of secondary content to bedisplayed within the open slot of the webpage or display screen.
 14. Themethod of claim 8, wherein: the one or more machine learning modelsinclude a first machine learning model that was trained using a firstset of historical placement patterns corresponding with a first periodof time and a second machine learning model that was trained using asecond set of historical placement patterns corresponding with a secondperiod of time greater than the first period of time.
 15. The method ofclaim 8, wherein: the one or more machine learning models include afirst machine learning model that was trained using a first set ofhistorical placement patterns corresponding with whether secondarycontent displayed over a first period of time led to an acquisition of anew subscriber and a second machine learning model that was trainedusing a second set of historical placement patterns corresponding withwhether secondary content displayed over a second period of time greaterthan the first period of time led to the acquisition of the newsubscriber.
 16. The method of claim 8, wherein: the one or more machinelearning models include a first machine learning model that was trainedusing a first set of historical placement patterns corresponding with afirst geographical region and a second machine learning model that wastrained using a second set of historical placement patternscorresponding with a second geographical region different from the firstgeographical region.
 17. The method of claim 8, further comprising:detecting that a perturbation bid should be generated based on theplacement context; and transmitting the perturbation bid to thecomputing device.
 18. The method of claim 17, wherein: the detectingthat the perturbation bid should be generated includes detecting that alocation of the user device is within a particular geographical region.19. One or more storage devices containing processor readable code forconfiguring one or more processors to perform a method for the placementof secondary content, wherein the processor readable code configures theone or more processors to: acquire a bid request from a computing deviceto display a set of secondary content within an open slot of a webpageor display screen to be displayed on a user device; determine aplacement context for the set of secondary content including a physicallocation of the user device; generate a feature vector comprising a setof input variables selected from the placement context; generate apredicted answer associated with a decision to transmit a bid responseto the computing device in response to the bid request, wherein thepredicted answer is generated using one or more machine learning modelsand the input variable from the feature vector, the one or more machinelearning models include a first machine learning model that was trainedusing a first set of historical placement patterns corresponding with afirst period of time and a second machine learning model that wastrained using a second set of historical placement patternscorresponding with a second period of time greater than the first periodof time; identify the set of secondary content based on the predictedanswer; generate the bid response including an identification of the setof secondary content to be displayed within the open slot of the webpageor display screen; transmit the bid response to the computing device;and transmit the set of secondary content such that the set of secondarycontent is provided to the user device.
 20. The one or more storagedevices of claim 19, wherein: the placement context includes a displayscreen size for the user device.